gl renderer: Fix hidpi transform nodes
authorTimm Bäder <mail@baedert.org>
Sun, 6 Jan 2019 09:59:01 +0000 (10:59 +0100)
committerTimm Bäder <mail@baedert.org>
Thu, 10 Jan 2019 15:49:19 +0000 (16:49 +0100)
gsk/gl/gskglrenderer.c

index 945c4dfc5a6e5b47c7a1f0624c5066f92ce15314..3936e83af3a091f5886828737312b5136b8badf1 100644 (file)
@@ -779,12 +779,14 @@ render_transform_node (GskGLRenderer   *self,
                        GskRenderNode   *node,
                        RenderOpBuilder *builder)
 {
+  const float scale = ops_get_scale (builder);
   GskRenderNode *child = gsk_transform_node_get_child (node);
   graphene_matrix_t transform, transformed_mv;
 
   graphene_matrix_init_from_matrix (&transform, gsk_transform_node_peek_transform (node));
   graphene_matrix_multiply (&transform, builder->current_modelview, &transformed_mv);
-  graphene_matrix_translate (&transformed_mv, &(graphene_point3d_t) { builder->dx, builder->dy, 0});
+  graphene_matrix_translate (&transformed_mv,
+                             &(graphene_point3d_t) { builder->dx * scale, builder->dy * scale, 0});
 
   /* We just added the offset to the new modelview matrix, so the following
    * cases dont' have to care about builder->dx/dy! */